package com.junzhiit.nengji.shop.service;

import com.junzhiit.nengji.model.User;
import com.junzhiit.nengji.shop.web.util.wechat.bean.LoginResponse;
import com.junzhiit.nengji.shop.web.vo.LoginVO;
import com.junzhiit.nengji.shop.web.vo.ResultVO;
import com.junzhiit.nengji.shop.web.vo.UserEditVO;

public interface UserService {

	/**
	 * 
	 * TODO 根据id查询用户信息
	 * 
	 * @author DlamLiu
	 * @time 2018年7月6日 下午12:00:11
	 * @return ResultVO
	 *
	 */
	public ResultVO getUserById(String id);
	
	/**
	 * 
	 * TODO 根据id查询用户信息
	 * 
	 * @author DlamLiu
	 * @time 2018年7月6日 下午12:00:11
	 * @return ResultVO
	 *
	 */
	public ResultVO getUserByCode(String code);
	
	/**
	 * 
	 * @author DlamLiu
	 * @time 2018年7月6日 下午12:00:11
	 * @return ResultVO
	 */
	public User checkOpenId(String openId);
	
	/**
	 * 
	 * @author DlamLiu
	 * @time 2018年7月6日 下午12:00:11
	 * @return ResultVO
	 */
	public ResultVO userAuth(LoginVO loginVO,LoginResponse response);
	/**
	 * 
	 * TODO 用户修改自身资料
	 * 
	 * @author DlamLiu
	 * @time 2018年7月6日 下午12:00:11
	 * @return ResultVO
	 *
	 */
	public ResultVO edit(UserEditVO userEditVO);	
	/**
	 * 
	 * TODO 发送验证码至邮箱
	 * 
	 * @author DlamLiu
	 * @time 2018年7月6日 下午12:00:11
	 * @return ResultVO
	 *
	 */
	public ResultVO sendEmailCode(String userId,String email);
	/**
	 * 
	 * TODO 绑定邮箱/修改绑定邮箱
	 * 
	 * @author DlamLiu
	 * @time 2018年7月6日 下午12:00:11
	 * @return ResultVO
	 *
	 */
	public ResultVO bindEmail(String userId,String email,String code);
	/**
	 * 
	 * TODO 绑定手机号码/修改绑定手机号码
	 * 
	 * @author DlamLiu
	 * @time 2018年7月6日 下午12:00:11
	 * @return ResultVO
	 *
	 */
	public ResultVO bindMobilePhone(String userId,String mobilePhone,String code,String name);
	/**
	 * 
	 * TODO 邮箱验证-发送验证码
	 * 
	* @author DlamLiu
	 * @time 2018年7月6日 下午12:00:11
	 * @return ResultVO
	 *
	 */
	public ResultVO emailCheckSendCode(String userId,String email);
	/**
	 * 
	 * TODO 邮箱验证
	 * 
	* @author DlamLiu
	 * @time 2018年7月6日 下午12:00:11
	 * @return ResultVO
	 *
	 */
	public ResultVO emailCheck(String userId,String email,String code);
	/**
	 * 
	 * TODO 手机号码验证
	 * 
	* @author DlamLiu
	 * @time 2018年7月6日 下午12:00:11
	 * @return ResultVO
	 *
	 */
	public ResultVO mobilePhoneCheck(String userId,String code);
	
	/**
	 * TODO
	* @author DlamLiu
	 * @time 2018年7月6日 下午12:00:11
	 * @return ResultVO
	 * 
	 */
	public ResultVO getUserRelationships(String userId,Integer sortStatus,String param,Integer pageNumber,Integer maxPageRow);

	/**
	 * 
	 * TODO 根据用户ID查询我的提现
	* @author DlamLiu
	 * @time 2018年7月6日 下午12:00:11
	 * @return ResultVO
	 */
	public ResultVO takeCash(String userId);
	
	/**
	 *  修改用户二维码
	 * @author DlamLiu
	 * @time 2018年7月6日 下午12:00:11
	 * @return ResultVO
	 */
	//public ResultVO updateUserQrcode();
	
	/**
	 * TODO 根据ID 修改用户二维码
	 * @author DlamLiu
	 * @time 2018年7月6日 下午12:00:11
	 * @return ResultVO
	 * 
	 */
	//public ResultVO updateUserQrcodeById(String userId);
	
	/**
	 * TODO  获取用户配置含积分
	 * @author Qjen
	 * @time 2018年7月7日 下午5:40:27
	 * @return ResultVO
	 * 
	 */
	public ResultVO getUserConfig(String userId);
	
}
